#include "Animal.h"

std::vector<Animal*> Animal::mate(Animal* partner)
{
	if (this->get_type() != partner->get_type()) {
		throw std::exception();
	}
	int n = get_typical_number_of_children();
	std::vector<Animal*> children(n);
	for (int i = 0; i < n; ++i) 
	{
		children.push_back(this->produce_child(partner));
	}
	return children;
}


int Animal::get_typical_number_of_children()
{
	return 1;
}

int Animal::get_id() const
{
	return id_;
}

std::string Animal::get_dna() const
{
	return dna_;
}

